namespace LS.UGFUnits
{
    public class UGFHookNames
    {
        //Config
        public const string LoadConfigSuccess = nameof(LoadConfigSuccess);
        public const string LoadConfigFailure = nameof(LoadConfigFailure);
        public const string LoadConfigDependencyAsset = nameof(LoadConfigDependencyAsset);
        public const string LoadConfigUpdate = nameof(LoadConfigUpdate);
        
        //DataTable
        public const string LoadDataTableSuccess = nameof(LoadDataTableSuccess);
        public const string LoadDataTableFailure = nameof(LoadDataTableFailure);
        public const string LoadDataTableDependencyAsset = nameof(LoadDataTableDependencyAsset);
        public const string LoadDataTableUpdate = nameof(LoadDataTableUpdate);
        
        //Download
        public const string DownloadStart = nameof(DownloadStart);
        public const string DownloadSuccess = nameof(DownloadSuccess);
        public const string DownloadFailure = nameof(DownloadFailure);
        public const string DownloadUpdate = nameof(DownloadUpdate);
        
        //Localization
        public const string LoadDictionarySuccess = nameof(LoadDictionarySuccess);
        public const string LoadDictionaryFailure = nameof(LoadDictionaryFailure);
        public const string LoadDictionaryDependencyAsset = nameof(LoadDictionaryDependencyAsset);
        public const string LoadDictionaryUpdate = nameof(LoadDictionaryUpdate);
        
        //Network
        public const string NetworkClosed = nameof(NetworkClosed);
        public const string NetworkConnected = nameof(NetworkConnected);
        public const string NetworkCustomError = nameof(NetworkCustomError);
        public const string NetworkError = nameof(NetworkError);
        public const string NetworkMissHeartBeat = nameof(NetworkMissHeartBeat);
        
        //Resource
        public const string ResourceApplyStart = nameof(ResourceApplyStart);
        public const string ResourceApplySuccess = nameof(ResourceApplySuccess);
        public const string ResourceApplyFailure = nameof(ResourceApplyFailure);
        public const string ResourceUpdateAllComplete = nameof(ResourceUpdateAllComplete);
        public const string ResourceUpdateStart = nameof(ResourceUpdateStart);
        public const string ResourceUpdateChanged = nameof(ResourceUpdateChanged);
        public const string ResourceUpdateSuccess = nameof(ResourceUpdateSuccess);
        public const string ResourceUpdateFailure = nameof(ResourceUpdateFailure);
        public const string ResourceVerifyStart = nameof(ResourceVerifyStart);
        public const string ResourceVerifySuccess = nameof(ResourceVerifySuccess);
        public const string ResourceVerifyFailure = nameof(ResourceVerifyFailure);
        
        //Scene
        public const string LoadSceneSuccess = nameof(LoadSceneSuccess);
        public const string LoadSceneFailure = nameof(LoadSceneFailure);
        public const string LoadSceneDependencyAsset = nameof(LoadSceneDependencyAsset);
        public const string LoadSceneUpdate = nameof(LoadSceneUpdate);
        public const string UnloadSceneSuccess = nameof(UnloadSceneSuccess);
        public const string UnloadSceneFailure = nameof(UnloadSceneFailure);
        
        //UI
        public const string OpenUIFormSuccess = nameof(OpenUIFormSuccess);
        public const string OpenUIFormFailure = nameof(OpenUIFormFailure);
        public const string OpenUIFormDependencyAsset = nameof(OpenUIFormDependencyAsset);
        public const string OpenUIFormUpdate = nameof(OpenUIFormUpdate);
        
        //Sound
        public const string PlaySoundSuccess = nameof(PlaySoundSuccess);
        public const string PlaySoundFailure = nameof(PlaySoundFailure);
        public const string PlaySoundDependencyAsset = nameof(PlaySoundDependencyAsset);
        public const string PlaySoundUpdate = nameof(PlaySoundUpdate);
        
        //Entity
        public const string ShowEntitySuccess = nameof(ShowEntitySuccess);
        public const string ShowEntityFailure = nameof(ShowEntityFailure);
        public const string ShowEntityDependencyAsset = nameof(ShowEntityDependencyAsset);
        public const string ShowEntityUpdate = nameof(ShowEntityUpdate);

        //WebRequest
        public const string WebRequestStart = nameof(WebRequestStart);
        public const string WebRequestSuccess = nameof(WebRequestSuccess);
        public const string WebRequestFailure = nameof(WebRequestFailure);
    }
}